Remote management of communicating thermostat to achieve just in time conditioning

ABSTRACT

Systems and methods for reducing the cycling time of a climate control system. For example, one or more of the exemplary systems can receive from a database a target time at which a structure is desired to reach a target temperature. In addition, the system acquires the temperature inside the structure and the temperature outside the structure at a time prior to said target time. The systems use a thermal characteristic of the structure and a performance characteristic of the climate control system, to determine the appropriate time prior to the target time at which the climate control system should turn on based at least in part on the structure, the climate control system, the inside temperature and the outside temperature. The systems then set a setpoint on a thermostatic controller to control the climate control system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/773,690, filed on May 4, 2010, which claims priority to ProvisionalApplication No. 61/215,657, filed May 8, 2009, the entireties of both ofwhich are incorporated herein by reference and are to be considered partof this specification.

BACKGROUND OF THE INVENTION Field of the Invention

Programmable thermostats have been available for more than 20 years.Programmable thermostats offer two types of advantages as compared tonon-programmable devices. On the one hand, programmable thermostats cansave energy in large part because they automate the process of reducingconditioning during times when the space is unoccupied, or whileoccupants are sleeping, and thus reduce energy consumption.

On the other hand, programmable thermostats can also enhance comfort ascompared to manually changing setpoints using a non-programmablethermostat. For example, during the winter, a homeowner might manuallyturn down the thermostat from 70 degrees F. to 64 degrees when going tosleep and back to 70 degrees in the morning. The drawback to thisapproach is that there can be considerable delay between the adjustmentof the thermostat and the achieving of the desired change in ambienttemperature, and many people find getting out of bed, showering, etc. ina cold house unpleasant. A programmable thermostat allows homeowners toanticipate the desired result by programming a pre-conditioning of thehome. So, for example, if the homeowner gets out of bed at 7 AM, settingthe thermostat to change from the overnight setpoint of 64 degrees to 70at 6 AM can make the house comfortable when the consumer gets up. Thedrawback to this approach is that the higher temperature will cost moreto maintain, so the increase in comfort is purchased at the cost ofhigher energy usage.

A significant difficulty with this approach is that the amount ofpreconditioning required to meet a given standard of comfort is afunction of several variables. First, the amount of preconditioningrequired will vary with outside temperature. An HVAC system that mightrequire an hour to increase the temperature in a given home from 64 to70 degrees when it is 45 degrees outside might take two hours when it is5 degrees outside. Second, the amount of preconditioning required willvary depending on the relationship between the capacity of the HVACsystem and the thermal characteristics of the structure. That is, a highcapacity HVAC system in a given structure will achieve a targettemperature faster than a smaller system; a well-insulated home withdouble-glazed windows will respond more quickly to a given HVAC systemthan an uninsulated home with single-glazed windows will. Consumers canprogram their thermostats to turn on the furnace early enough that thedesired temperature is always reached at the target time even on thecoldest days, but the cost of this choice will be wasted energy andmoney on warmer days. Alternatively, consumers can choose moreeconomical settings, with the cost of loss of comfort on cold days.Similar tradeoffs will be faced when trying to optimize setbacks duringthe summer in homes that have air conditioning.

It would therefore be advantageous to have a means for controlling theHVAC system that is capable of taking into account both outside weatherconditions and the thermal characteristics of individual homes in orderto improve the ability to dynamically achieve the best possible balancebetween comfort and energy savings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of an overall environment in which an embodimentof the invention may be used.

FIG. 2 shows a high-level illustration of the architecture of a networkshowing the relationship between the major elements of one embodiment ofthe subject invention.

FIG. 3 shows an embodiment of the website to be used as part of thesubject invention.

FIG. 4 shows a high-level schematic of the thermostat used as part ofthe subject invention.

FIG. 5 shows one embodiment of the database structure used as part ofthe subject invention.

FIGS. 6A and 6B show how comparing inside temperature against outsidetemperature and other variables permits calculation of dynamicsignatures.

FIG. 7 shows a flow chart for a high level version of the process ofcalculating the appropriate turn-on time in a given home.

FIG. 8 shows a more detailed flowchart listing the steps in the processof calculating the appropriate turn-on time in a given home.

FIGS. 9A-9D show the steps shown in the flowchart in FIG. 8 in the formof a graph of temperature and time.

FIG. 10 shows a table of some of the data used by the subject inventionto predict temperatures.

FIG. 11 shows the subject invention as applied in a specific home on aspecific day.

FIG. 12 shows the subject invention as applied in a different specifichome on a specific day.

FIG. 13 shows a table of predicted rates of change in temperature insidea given home for a range of temperature differentials between inside andoutside.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows an example of an overall environment 100 in which anembodiment of the invention may be used. The environment 100 includes aninteractive communication network 102 with computers 104 connectedthereto. Also connected to network 102 are one or more server computers106, which store information and make the information available tocomputers 104. The network 102 allows communication between and amongthe computers 104 and 106.

Presently preferred network 102 comprises a collection of interconnectedpublic and/or private networks that are linked to together by a set ofstandard protocols to form a distributed network. While network 102 isintended to refer to what is now commonly referred to as the Internet,it is also intended to encompass variations which may be made in thefuture, including changes additions to existing standard protocols.

One popular part of the Internet is the World Wide Web. The World WideWeb contains a large number of computers 104 and servers 106, whichstore HyperText Markup Language (HTML) documents capable of displayinggraphical and textual information. HTML is a standard coding conventionand set of codes for attaching presentation and linking attributes toinformational content within documents.

The servers 106 that provide offerings on the World Wide Web aretypically called websites. A website is often defined by an Internetaddress that has an associated electronic page. Generally, an electronicpage is a document that organizes the presentation of text graphicalimages, audio and video.

In addition to the Internet, the network 102 can comprise a wide varietyof interactive communication media. For example, network 102 can includelocal area networks, interactive television networks, telephonenetworks, wireless data systems, two-way cable systems, and the like.

Network 102 can also comprise servers 106 that provide services otherthan HTML documents. Such services may include the exchange of data witha wide variety of “edge” devices, some of which may not be capable ofdisplaying web pages, but that can record, transmit and receiveinformation.

In one embodiment, computers 104 and servers 106 are conventionalcomputers that are equipped with communications hardware such as a modemor a network interface card. The computers include processors such asthose sold by Intel and AMD. Other processors may also be used,including general-purpose processors, multi-chip processors, embeddedprocessors and the like.

Computers 104 can also be handheld and wireless devices such as personaldigital assistants (PDAs), cellular telephones and other devices capableof accessing the network.

Computers 104 utilize a browser configured to interact with the WorldWide Web. Such browsers may include Microsoft Explorer, Mozilla,Firefox, Opera or Safari. They may also include browsers used onhandheld and wireless devices.

The storage medium may comprise any method of storing information. Itmay comprise random access memory (RAM), electronically erasableprogrammable read only memory (EEPROM), read only memory (ROM), harddisk, floppy disk, CD-ROM, optical memory, or other method of storingdata.

Computers 104 and 106 may use an operating system such as MicrosoftWindows, Apple Mac OS, Linux, Unix or the like.

Computers 106 may include a range of devices that provide information,sound, graphics and text, and may use a variety of operating systems andsoftware optimized for distribution of content via networks.

FIG. 2 illustrates in further detail the architecture of the specificcomponents connected to network 102 showing the relationship between themajor elements of one embodiment of the subject invention. Attached tothe network are thermostats 108 and computers 104 of various users.Connected to thermostats 108 are HVAC units 110. The HVAC units may beconventional air conditioners, heat pumps, or other devices fortransferring heat into or out of a building. Each user is connected tothe servers 106 a via wired or wireless connection such as Ethernet or awireless protocol such as IEEE 802.11, a gateway or wireless accesspoint 112 that connects the computer and thermostat to the Internet viaa broadband connection such as a digital subscriber line (DSL) or otherform of broadband connection to the World Wide Web. In one embodiment,thermostat management server 106 is in communication with the network102. Server 106 contains the content to be served as web pages andviewed by computers 104, as well as databases containing informationused by the servers, and applications used to remotely managethermostats 108.

In the currently preferred embodiment, the website 200 includes a numberof components accessible to the user, as shown in FIG. 3. Thosecomponents may include a means to store temperature settings 202, ameans to enter information about the user's home 204, a means to enterthe user's electricity bills 206, and means to elect to enable thesubject invention 208.

FIG. 4 shows a high-level block diagram of thermostat 108 used as partof the subject invention. Thermostat 108 includes temperature sensingmeans 252, which may be a thermistor, thermal diode or other meanscommonly used in the design of electronic thermostats. It includes amicroprocessor 254, memory 256, a display 258, a power source 260, atleast one relay 262, which turns the HVAC system on and off in responseto a signal from the microprocessor, and contacts by which the relay isconnected to the wires that lead to the HVAC system. To allow thethermostat to communicate bi-directionally with the computer network,the thermostat also includes means 264 to connect the thermostat to alocal computer or to a wired or wireless network. Such means could be inthe form of Ethernet, wireless protocols such as IEEE 802.11, IEEE802.15.4, Bluetooth, or other wireless protocols. The thermostat may beconnected to the computer network directly via wired or wirelessInternet Protocol connection. Alternatively, the thermostat may connectwirelessly to a gateway such as an IP-to-Zigbee gateway, an IP-to-Z-wavegateway, or the like. Where the communications means enabled includewireless communication, antenna 266 will also be included. Thethermostat 250 may also include controls 268 allowing users to changesettings directly at the thermostat, but such controls are not necessaryto allow the thermostat to function.

The data used to generate the content delivered in the form of thewebsite and to automate control of thermostat 108 is stored on one ormore servers 106 within one or more databases. As shown in FIG. 5, theoverall database structure 300 may include temperature database 400,thermostat settings database 500, energy bill database 600, HVAChardware database 700, weather database 800, user database 900,transaction database 1000, product and service database 1100 and suchother databases as may be needed to support these and additionalfeatures.

The website will allow users of connected thermostats 108 to createpersonal accounts. Each user's account will store information indatabase 900, which tracks various attributes relative to users. Suchattributes may include the make and model of the specific HVAC equipmentin the user's home; the age and square footage of the home, the solarorientation of the home, the location of the thermostat in the home, theuser's preferred temperature settings, etc.

As shown in FIG. 3, the website 200 will permit thermostat users toperform through the web browser substantially all of the programmingfunctions traditionally performed directly at the physical thermostat,such as temperature set points, the time at which the thermostat shouldbe at each set point, etc. Preferably the website will also allow usersto accomplish more advanced tasks such as allow users to program invacation settings for times when the HVAC system may be turned off orrun at more economical settings, and to set macros that will allowchanging the settings of the temperature for all periods with a singlegesture such as a mouse click.

In addition to using the system to allow better signaling and control ofthe HVAC system, which relies primarily on communication running fromthe server to the thermostat, the bi-directional communication will alsoallow the thermostat 108 to regularly measure and send to the serverinformation about the temperature in the building. By comparing outsidetemperature, inside temperature, thermostat settings, cycling behaviorof the HVAC system, and other variables, the system will be capable ofnumerous diagnostic and controlling functions beyond those of a standardthermostat.

For example, FIG. 6 a shows a graph of inside temperature, outsidetemperature and HVAC activity for a 24 hour period. When outsidetemperature 302 increases, inside temperature 304 follows, but with somedelay because of the thermal mass of the building, unless the airconditioning 306 operates to counteract this effect. When the airconditioning turns on, the inside temperature stays constant (or risesat a much lower rate or even falls) despite the rising outsidetemperature. In this example, frequent and heavy use of the airconditioning results in only a very slight temperature increase insidethe house of 4 degrees, from 72 to 76 degrees, despite the increase inoutside temperature from 80 to 100 degrees.

FIG. 6 b shows a graph of the same house on the same day, but assumesthat the air conditioning is turned off from noon to 7 PM. As expected,the inside temperature 304 a rises with increasing outside temperatures302 for most of that period, reaching 88 degrees at 7 PM. Because server106 logs the temperature readings from inside each house (whether onceper minute or over some other interval), as well as the timing andduration of air conditioning cycles, database 300 will contain a historyof the thermal performance of each house. That performance data willallow the server 106 to calculate an effective thermal mass for eachsuch structure—that is, the speed with the temperature inside a givenbuilding will change in response to changes in outside temperature.Because the server will also log these inputs against other inputsincluding time of day, humidity, etc. the server will be able topredict, at any given time on any given day, the rate at which insidetemperature should change for given inside and outside temperatures.

The ability to predict the rate of change in inside temperature in agiven house under varying conditions may be applied by in effect holdingthe desired future inside temperature as a constraint and using theability to predict the rate of change to determine when the HVAC systemmust be turned on in order to reach the desired temperature at thedesired time.

FIG. 7 shows a flowchart illustrating the high-level process forcontrolling a just-in-time (JIT) event. In step 1002, the serverdetermines whether a specific thermostat 108 is scheduled to run thepreconditioning program. If, not, the program terminates. If it soscheduled, then in step 1004 the server retrieves the predeterminedtarget time when the preconditioning is intended to have been completed(TT). Using TT as an input, in step 1006 the server then determines thetime at which the computational steps required to program thepreconditioning event will be performed (ST). In step 1008, performed atstart time ST, the server begins the process of actually calculating therequired parameters, as discussed in greater detail below. Then in 1010specific setpoint changes are transmitted to the thermostat so that thetemperature inside the home may be appropriately changed as intended.

FIG. 8 shows a more detailed flowchart of the process. In step 1102, theserver retrieves input parameters used to create a JIT event. Theseparameters include the maximum time allowed for a JIT event forthermostat 108 (MTI); the target time the system is intended to hit thedesired temperature (TT); and the desired inside temperature at TT(TempTT). It is useful to set a value for MTI because, for example, itwill be reasonable to prevent the HVAC system from running apreconditioning event if it would be expected to take 8 hours, whichmight be prohibitively expensive.

In step 1104, the server retrieves data used to calculate theappropriate start time with the given input parameters. This dataincludes a set of algorithmic learning data (ALD), composed of historicreadings from the thermostat, together with associated weather data,such as outside temperature, solar radiation, humidity, wind speed anddirection, etc; together with weather forecast data for the subjectlocation for the period when the algorithm is scheduled to run (theweather forecast data, or WFD). The forecasting data can be as simple asa listing of expected temperatures for a period of hours subsequent tothe time at which the calculations are performed, to more detailedtables including humidity, solar radiation, wind, etc. Alternatively, itcan include additional information such as some or all of the kinds ofdata collected in the ALD.

In step 1106, the server uses the ALD and the WFD to create predictiontables that determine the expected rate of change or slope of insidetemperature for each minute of HVAC cycle time (ΔT) for the relevantrange of possible pre-existing inside temperatures and outside climaticconditions. An example of a simple prediction table is illustrated inFIG. 13.

In step 1108, the server uses the prediction tables created in step1106, combined with input parameters TT and Temp(TT) to determine thetime at which slope ΔT intersects with predicted initial temperature PT.The time between PT and TT is the key calculated parameter: thepreconditioning time interval, or PTI.

In step 1110, the server checks to confirm that the time required toexecute the pre-conditioning event PTI does not exceed the maximumparameter MTI. If PTI exceeds MTI, the scheduling routine concludes andno ramping setpoints are transmitted to the thermostat.

If the system is perfect in its predictive abilities and its assumptionsabout the temperature inside the home are completely accurate, then intheory the thermostat can simply be reprogrammed once—at time PT, thethermostat can simply be reprogrammed to Temp(TT). However, there aredrawbacks to this approach. First, if the server has been overlyconservative in its predictions as to the possible rate of change intemperature caused by the HVAC system, the inside temperature will reachTT too soon, thus wasting energy and at least partially defeating thepurpose of running the preconditioning routine in the first place. Ifthe server is too optimistic in its projections, there will be no way tocatch up, and the home will not reach Temp(TT) until after TT. Thus itwould be desirable to build into the system a means for self-correctingfor slightly conservative start times without excessive energy use.Second, the use of setpoints as a proxy for actual inside temperaturesin the calculations is efficient, but can be inaccurate under certaincircumstances. In the winter (heating) context, for example, if theactual inside temperature is a few degrees above the setpoint (which canhappen when outside temperatures are warm enough that the home's natural“set point” is above the thermostat setting), then setting thethermostat to Temp(TT) at time PT will almost certainly lead to reachingTT too soon as well.

The currently preferred solution to both of these possible inaccuraciesis to calculate and program a series of intermediate settings betweenTemp(PT) and Temp(TT) that are roughly related to ΔT.

Thus if MTI is greater than PTI, then in step 1112 the server calculatesthe schedule of intermediate setpoints and time intervals to betransmitted to the thermostat. Because thermostats cannot generally beprogrammed with steps of less than 1 degree F., ΔT is quantized intodiscrete interval data of at least 1 degree F. each. For example, ifTemp(PT) is 65 degrees F., Temp(TT) is 72 degrees F., and PT is 90minutes, the thermostat might be programmed to be set at 66 for 10minutes, 67 for 12 minutes, 68 for 15 minutes, etc. The server mayoptionally limit the process by assigning a minimum programming interval(e.g., at least ten minutes between setpoint changes) to avoid frequentswitching of the HVAC system, which can reduce accuracy because of thethermostat's compressor delay circuit, which may prevent quickcorrections. The duration of each individual step may be a simplearithmetic function of the time PTI divided by the number ofwhole-degree steps to be taken; alternatively, the duration of each stepmay take into account second order thermodynamic effects relating to theincreasing difficulty of “pushing” the temperature inside a housefurther from its natural setpoint given outside weather conditions, etc.(that is, the fact that on a cold winter day it may take more energy tomove the temperature inside the home from 70 degrees F. to 71 than itdoes to move it from 60 degrees to 61).

In step 1114, the server schedules setpoint changes calculated in step1112 for execution by the thermostat.

With this system, if actual inside temperature at PT is significantlyhigher than Temp(PT), then the first changes to setpoints will have noeffect (that is, the HVAC system will remain off), and the HVAC systemwill not begin using energy, until the appropriate time, as shown inFIG. 12. Similarly, if the server has used conservative predictions togenerate ΔT, and the HVAC system runs ahead of the predicted rate ofchange, the incremental changes in setpoint will delay further increasesuntil the appropriate time in order to again minimize unnecessary energyuse, as shown in FIG. 11.

FIG. 9( a) through 9(d) shows the steps in the preconditioning processas a graph of temperature and time. FIG. 9( a) shows step 1102, in whichinputs target time TT 1202, target temperature Temp(TT) 1204, maximumconditioning interval MTI 1206 and the predicted inside temperatureduring the period of time the preconditioning event is likely to beginTemp(TT) 1208 are retrieved.

FIG. 9( b) shows the initial calculations performed in step 1108, inwhich expected rate of change in temperature ΔT 1210 inside the home isgenerated from the ALD and WFD using Temp(TT) 1204 at time TT 1202 asthe endpoint.

FIG. 9( c) shows how in step 1108 ΔT 1210 is used to determine starttime PT 1212 and preconditioning time interval PTI 1214. It also showshow in step 1110 the server can compare PTI with MTI to determinewhether or not to instantiate the pre-conditioning program for thethermostat.

FIG. 9( d) shows step 1112, in which specific ramped setpoints 1216 aregenerated. Because of the assumed thermal mass of the system, actualinside temperature at any given time will not correspond to setpointsuntil some interval after each setpoint change. Thus initial rampedsetpoint 1216 may be higher than Temp(PT) 1208, for example.

FIG. 10 shows an example of the types of data that may be used by theserver in order to calculate ΔT 1210. Such data may include insidetemperature 1302, outside temperature 1304, cloud cover 1306, humidity1308, barometric pressure 1310, wind speed 1312, and wind direction1314.

Each of these data points should be captured at frequent intervals. Inthe preferred embodiment, as shown in FIG. 10, the interval is onceevery 60 seconds.

FIG. 11 shows application of the subject invention in an actual house.Temperature and setpoints are plotted for the 4-hour period from 4 AM to8 AM with temperature on the vertical axis and time on the horizontalaxis. The winter nighttime setpoint 1402 is 60 degrees F.; the morningsetpoint temperature 1404 is 69 degrees F. The outside temperature 1406is approximately 45 degrees F. The target time TT 1408 for the setpointchange to morning setting is 6:45 AM. In the absence of the subjectinvention, the homeowner could program the thermostat to change to thenew setpoint at 6:45, but there is an inherent delay between a setpointchange and the response of the temperature inside the home. (In thishome on this day, the delay is approximately fifty minutes.) Thus if thehomeowner truly desired to achieve the target temperature at the targettime, some anticipation would be necessary. The amount of anticipationrequired depends upon numerous variables, as discussed above.

After calculating the appropriate slope ΔT 1210 by which to ramp insidetemperature in order to reach the target as explained above, the servertransmits a series of setpoints 1216 to the thermostat because thethermostat is presumed to only accept discrete integers as programsettings. (If a thermostat is capable of accepting finer settings, as inthe case of some thermostats designed to operate in regions in whichtemperature is generally denoted in Centigrade rather than Fahrenheit,which accept settings in half-degree increments, tighter control may bepossible.) In any event, in the currently preferred embodiment of thesubject invention, programming changes are quantized such that thefrequency of setpoint changes is balanced between the goal of minimizingnetwork traffic and the frequency of changes made on the one hand andthe desire for accuracy on the other. Balancing these considerations mayresult in some cases in either more frequent changes or in larger stepsbetween settings. As shown in FIG. 11, the setpoint “stairsteps” from 60degrees F. to 69 degrees F. in nine separate setpoint changes over aperiod of 90 minutes.

Because the inside temperature 1408 when the setpoint management routinewas instantiated at 5:04 AM 1210 was above the “slope” and thus abovethe setpoint, the HVAC system was not triggered and no energy was usedunnecessarily heating the home before such energy use was required.Actual energy usage does not begin until 5:49 AM.

FIG. 12 shows application of the subject invention in a different houseduring a similar four hour interval. In FIG. 12, the predicted slope ΔT1210 is less conservative relative to the actual performance of the homeand HVAC system, so there is no off cycling during the preconditioningevent—the HVAC system turns on at approximately 4:35 AM and stays oncontinuously during the event. The home reaches the target temperatureTemp(TT) roughly two minutes prior to target time TT.

FIG. 13 shows a simple prediction table. The first column 1602 lists aseries of differentials between outside and inside temperatures. Thuswhen the outside temperature is 14 degrees and the inside temperature is68 degrees, the differential is −54 degrees; when the outsidetemperature is 94 degrees and the inside temperature is 71 degrees, thedifferential is 13 degrees. The second column 1604 lists the predictedrate of change in inside temperature ΔT 1210 assuming that the furnaceis running in terms of degrees Fahrenheit of change per hour. A similarprediction table will be generated for predicted rates of change whenthe air conditioner is on; additional tables may be generated thatpredict how temperatures will change when the HVAC system is off.

Alternatively, the programming of the just-in-time setpoints may bebased not on a single rate of change for the entire event, but on a morecomplex multivariate equation that takes into account the possibilitythat the rate of change may be different for events of differentdurations.

The method for calculating start times may also optionally take intoaccount not only the predicted temperature at the calculated start time,but may incorporate measured inside temperature data from immediatelyprior to the scheduled start time in order to update calculations, ormay employ more predictive means to extrapolate what inside temperaturebased upon outside temperatures, etc.

Additional means of implementing the instant invention may be achievedusing variations in system architecture. For example, much or even allof the work being accomplished by remote server 106 may also be done bythermostat 108 if that device has sufficient processing capabilities,memory, etc. Alternatively, these steps may be undertaken by a localprocessor such as a local personal computer, or by a dedicated appliancehaving the requisite capabilities, such as gateway 112.

What is claimed is:
 1. A method for reducing the cycling time of aclimate control system, said method comprising: accessing stored datacomprising a plurality of internal temperature readings taken within astructure and a plurality of measurements relating to temperaturesoutside said structure; using the stored data to determine one or morethermal performance values of said structure, wherein said one or morethermal performance values indicate a rate of change of temperature insaid structure in response to changes in outside temperatures; storingsaid one or more thermal performance values of said structure;retrieving a target time at which said structure is desired to reach atarget temperature; acquiring a measurement relating to a temperatureoutside said structure at a time prior to said target time; retrievingat least a said one or more thermal performance values of saidstructure; determining a first time prior to said target time at whichsaid climate control system should turn on to reach the targettemperature by the target time based at least in part on said one ormore thermal performance values of said structure, and said outsidetemperature; and calculating a plurality of intermediate setpoints thatoccur between the first time and the target time, wherein the pluralityof intermediate setpoints control said climate control system such thatthe temperature inside the structure reaches approximately the targettemperature at approximately the target time.
 2. A method as in claim 1wherein said climate control system further comprises a thermostaticcontroller.
 3. A method as in claim 1 where said climate control systemis a heating, ventilation and air conditioning system.
 4. A method as inclaim 1 where said climate control system is a heating, ventilation andair conditioning system in a single family residence.
 5. A method as inclaim 1 in which at least one remote processor is in communication withsaid climate control system.
 6. A method as in claim 5 in which saidremote processor is not located in the same structure as said climatecontrol system.
 7. A method as in claim 5 in which said remote processorsets programming for said climate control system.
 8. A method as inclaim 1 in which said th climate control system is programmable.
 9. Amethod for minimizing the cycling time of a space heating system, saidmethod comprising: accessing stored data comprising a plurality oftemperatures within a structure and a plurality of outside temperaturesoutside said structure; using the stored data to determine one or morethermal performance values of said structure, wherein said one or morethermal performance values indicate a rate of change of temperature insaid structure in response to changes in outside temperatures; storingthe one or more thermal performance values of said structure; retrievinga target time at which a temperature in said structure is desired toreach a target temperature; acquiring the temperature outside saidstructure at a time prior to said target time; retrieving at least saidone or more thermal performance values of said structure; calculating atleast a first setpoint and a second setpoint that occur between thefirst time and the target time, wherein the first and second setpointsdirect a climate control system to change the actual temperature insidethe structure to the target temperature in a series of intermediatesteps based at least in part on said one or more thermal performancevalues of said structure, and said outside temperature, where saidsecond setpoint is lower than said target temperature, and said firstsetpoint is lower than said second setpoint; calculating at least afirst setpoint target time and a second setpoint target time based atleast in part on said one or more thermal performance values of saidstructure, and said outside temperature, where said second setpointtarget time is prior to said target time, and said first setpoint targettime is prior to said second setpoint target time; and setting at leastsaid first setpoint at said first setpoint target time and said secondsetpoint at said second setpoint target time to control said climatecontrol system.
 10. A method as in claim 9 where said climate controlsystem is a heating, ventilation and air conditioning system in a singlefamily residence.
 11. A method as in claim 9 in which at least oneremote processor is in communication with said climate control system.12. A method as in claim 11 in which said remote processor is notlocated in the same structure as said climate control system.
 13. Amethod as in claim 11 in which said remote processor sets programmingfor said climate control system.
 14. A method as in claim 9 in whichsaid climate control system is programmable.
 15. A method for minimizingthe cycling time of an air conditioning system, said method comprising:accessing stored data comprising a plurality of temperatures readingstaken within a structure and a plurality of measurements relating totemperatures outside said structure; using the stored data to determineone or more thermal performance values of said structure, wherein saidone or more thermal performance values indicate a rate of change oftemperature in said structure in response to changes in outsidetemperatures; storing one or more thermal performance values of saidstructure; retrieving a target time at which a temperature in saidstructure is desired to reach a target temperature; acquiring thetemperature outside said structure at a time prior to said target time;retrieving at least said one or more thermal performance values of saidstructure; calculating at least a first setpoint and a second setpointthat occur between the first time and the target time, wherein the firstand second setpoints direct a climate control system to change theactual temperature inside the structure to the target temperature in aseries of intermediate steps based at least in part on said one or morethermal performance values of said structure, and said outsidetemperature, where said second setpoint is higher than said targettemperature, and said first setpoint is higher than said secondsetpoint; calculating at least a first setpoint target time and a secondsetpoint target time based at least in part on said one or more thermalperformance values of said structure, where said second setpoint targettime is prior to said target time, and said first setpoint target timeis prior to said second setpoint target time; and setting at least saidfirst setpoint at said first setpoint target time and said secondsetpoint at said second setpoint target time to control said climatecontrol system.
 16. A method as in claim 15 where said climate controlsystem is a heating, ventilation and air conditioning system in a singlefamily residence.
 17. A method as in claim 15 in which at least oneremote processor is in communication with said climate control system.18. A method as in claim 17 in which said remote processor is notlocated in the same structure as said climate control system.
 19. Amethod as in claim 17 in which said remote processor sets programmingfor said climate control system.
 20. A method as in claim 15 in whichsaid climate control system is programmable.